(table--point-entered-cell-function)
authorMartin Rudalics <rudalics@gmx.at>
Tue, 29 May 2007 06:12:54 +0000 (06:12 +0000)
committerMartin Rudalics <rudalics@gmx.at>
Tue, 29 May 2007 06:12:54 +0000 (06:12 +0000)
(table--point-left-cell-function): Bind
`inhibit-point-motion-hooks' to t.

lisp/textmodes/table.el

index c0a85eeb68c18534c56990e2065f4e9834bf70fc..69c3c60f912af646afd20056cb2ebec34a826ccb 100644 (file)
@@ -5333,21 +5333,25 @@ instead of the current buffer and returns the OBJECT."
 (defun table--point-entered-cell-function (&optional old-point new-point)
   "Point has entered a cell.
 Refresh the menu bar."
-  (unless table-cell-entered-state
-    (setq table-cell-entered-state t)
-    (setq table-mode-indicator t)
-    (force-mode-line-update)
-    (table--warn-incompatibility)
-    (run-hooks 'table-point-entered-cell-hook)))
+  ;; Avoid calling point-motion-hooks recursively.
+  (let ((inhibit-point-motion-hooks t))
+    (unless table-cell-entered-state
+      (setq table-cell-entered-state t)
+      (setq table-mode-indicator t)
+      (force-mode-line-update)
+      (table--warn-incompatibility)
+      (run-hooks 'table-point-entered-cell-hook))))
 
 (defun table--point-left-cell-function (&optional old-point new-point)
   "Point has left a cell.
 Refresh the menu bar."
-  (when table-cell-entered-state
-    (setq table-cell-entered-state nil)
-    (setq table-mode-indicator nil)
-    (force-mode-line-update)
-    (run-hooks 'table-point-left-cell-hook)))
+  ;; Avoid calling point-motion-hooks recursively.
+  (let ((inhibit-point-motion-hooks t))
+    (when table-cell-entered-state
+      (setq table-cell-entered-state nil)
+      (setq table-mode-indicator nil)
+      (force-mode-line-update)
+      (run-hooks 'table-point-left-cell-hook))))
 
 (defun table--warn-incompatibility ()
   "If called from interactive operation warn the know incompatibilities.